M y S Q L   -   Structured Query Language

5.  SELECT - datenbank abfragen

5.1  alle spalten abfragen

Bei erfolgreicher ausführung dieser SQL-anweisung liefert die funktion query für alle zeilen einer tabelle oder für die zeilen, die der bedingung entsprechen eine ergebniszeile mit allen spalten der tabellen-zeile. Eine sortierung der ergebniszeilen ist möglich, außerdem kann deren anzahl mit limit begrenzt werden. Vor der auswertung sollte man mit der funktion num_rows die anzahl der ergebniszeilen feststellen und dann die zeilen der reihe nach mit der funktion fetch_assoc oder fetch_array lesen und auswerten. Wegen etwaiger probleme mit geschlossenen umlauten und einigen sonderzeichen siehe 8.4 - besonderheiten.

SELECT * FROM tabelle [ bedingung ] [ sortierung ] [ limit ]

tabellename der DB-tabelle als zeichenkette oder in einer variablen
bedingungbedingung für die auswahl der zeilen
sortierungsortierung der ergebniszeilen
limitbeschränkung der ergebniszeilen

beispiel
Meist wird man eine ergebniszeile als assoziatives feld behandeln, als key dienen dabei die namen der spalten. Es ist sehr einfach, die elemente aus der ergebniszeile in PHP-variable zu bringen und damit weiter zu arbeiten. Wenn man die werte mit echo direkt in einer HTML- anweisung verwenden will, muss man sich strikt an die regeln halten, d.h. entweder den namen der spalte in eine variable bringen oder den namen in anführungszeichen oder apostrophe setzen und den ganzen ausdruck in geschweifte klammern schreiben oder die ausgabe von echo aus passenden teilen zusammen setzen (vgl. PHP-dokumentation, assoziatives feld). Auf die prüfung der anzahl der ergebniszeilen kann man hier verzichten, weil die funktion fetch_assoc als bedingung in einer while-schleife steht und diese schleife auch richtig funktioniert, wenn keine ergebnis- zeile vorhanden ist.

Für die echo-anweisung werden die werte aus den spalten wie folgt ausgewertet:

nummer$ix = "nummer";
damit aus der spalte $zeile[$ix]
namedirekt aus der spalte mit {$zeile["name"]}
vornamedirekt aus der spalte mit $zeile['vorname']
abteil$abt = $zeile["abteil"];
beitrag$bei = $zeile["beitrag"];
dann mit sprintf aufbereiten

ERR: kein zugriff zur tabelle mitglieder

hinweise
Die überschriftszeile verwendet die namen der spalten. Da bei der tabelle mitglieder diese namen bekannt sind, können sie so wie gezeigt verwendet werden. Sind die namen nicht bekannt, muss man sie mit der anweisung SHOW COLUMS ermitteln (siehe 4.4).
Die von der SELECT-anweisung gelieferten ergebniszeilen sind assoziierte felder, die mit fetch_array (siehe 3.3) ausgewertet werden. Dabei werden als schlüssel die spaltennamen verwendet.
Ein etwas aufwendigeres beispiel für die anzueige des tabelleninhalts wird bei 7.4 gezeigt.


zum untermenü


    IMPRESSUM  

    KONTAKT  

    PRIVAT  

    D O K U  


  H T M L  
  C S S  
  P H P  
  my sql
  JAVASCRIPT